#define _CRT_SECURE_NO_WARNINGS 1
class Solution {
public:
    // int find(int p[],int x){
    //     if(x!=p[x])p[x]=find(p,p[x]);
    //     return p[x];
    // }
    int findJudge(int n, vector<vector<int>>& trust) {
        //    int p[n+1];
        //    for(int i=0;i<=n;i++)p[i]=i;
        int st[n + 1];
        //  memset(st,0,sizeof st);
        for (int i = 0; i <= n; i++)st[i] = 0;
        for (auto it : trust) {
            int a = it[0];
            int b = it[1];
            st[a]--;
            st[b]++;
            // int x=find(p,a);
            // int y=find(p,b);
            // if(y!=x){
              // p[x]=y;
            // }
        }
        int ans = 0;
        int t = 0;
        for (int i = 1; i <= n; i++) {
            cout << st[i] << endl;
            if (st[i] == n - 1) {
                t++;
                ans = i;
            }
        }
        if (t == 1)return ans;
        return -1;
        //    for(int i=1;i<=n;i++){

        //        if(p[i]==i){
        //            ans++;
        //            cout<<ans<<"kkk"<<endl;
        //            t=i;
        //        }
        //        cout<<p[i]<<" "<<i<<endl;
        //    }
          // if(ans!=1||st[t]==-1)return -1;
          // return t;
    }
};